package com.feicheng.iou.mapper;

import com.feicheng.iou.entity.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.feicheng.iou.pojo.login.UserPOJO;
import com.feicheng.iou.pojo.login.LoginParamPOJO;


import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author tianchunlei
 * @since 2021-06-28
 */

public interface UserMapper extends BaseMapper<User> {

    /**
     * @Author wuweinan
     * @Description 登录验证与权限接口,查询用户信息
     * @Date 2021-7-23 10:45
     * @param loginParamPOJO 封装了用户名和密码
     * @return  User
     */
    User selectUserInfoOfLogin(LoginParamPOJO loginParamPOJO);
    User selectUserInfoOfLoginPhone(LoginParamPOJO loginParamPOJO);

    /**
     * @Author wuweinan
     * @Description 插入用户信息
     * @Date 2021-7-23 10:45
     * @param userPOJO 封装用户及其角色ID集合
     * @return  voidss
     */
    Integer insertUser(UserPOJO userPOJO);

    /**
     * @Author wuweinan
     * @Description 根据account模糊查询用户列表
     * @Date 2021-7-23 10:45
     * @param name 账户名
     * @return  List<User>
     */
    List<User> selectUserListByCondition(String name);


    /**
     * @Author wuweinan
     * @Description  检验用户名是否重名
     * @Date 2021-7-23 10:45
     * @param name
     * @return  Integer
     */
    Integer judgeAccountName(String name);

    /**
     * @Author wuweinan
     * @Description 登录验证与权限接口,查询用户信息
     * @Date 2021-7-23 10:45
     * @param page 页码 , size 页面条数
     * @return   List<User>
     */
    List<User> selectAllUser(Integer page,Integer size);


}
